﻿using System;
using System.Collections.Generic;
using System.Text;

namespace VkSample45
{
    public class CubeData
    {
		public uint VCount { get; set; }

		public float[] Data { get; set; }

        public void GenData()
        {
            float size = 1;
            float[] vertices = new float[]
            {
				//前面
				0,0,size,
				size,size,size,
				-size,size,size,
				0,0,size,
				-size,size,size,
				-size,-size,size,
				0,0,size,
				-size,-size,size,
				size,-size,size,
				0,0,size,
				size,-size,size,
				size,size,size,
				//后面
				0,0,-size,
				size,size,-size,
				size,-size,-size,
				0,0,-size,
				size,-size,-size,
				-size,-size,-size,
				0,0,-size,
				-size,-size,-size,
				-size,size,-size,
				0,0,-size,
				-size,size,-size,
				size,size,-size,
				//左面
				-size,0,0,
				-size,size,size,
				-size,size,-size,
				-size,0,0,
				-size,size,-size,
				-size,-size,-size,
				-size,0,0,
				-size,-size,-size,
				-size,-size,size,
				-size,0,0,
				-size,-size,size,
				-size,size,size,
				//右面
				size,0,0,
				size,size,size,
				size,-size,size,
				size,0,0,
				size,-size,size,
				size,-size,-size,
				size,0,0,
				size,-size,-size,
				size,size,-size,
				size,0,0,
				size,size,-size,
				size,size,size,
				//上面
				0,size,0,
				size,size,size,
				size,size,-size,
				0,size,0,
				size,size,-size,
				-size,size,-size,
				0,size,0,
				-size,size,-size,
				-size,size,size,
				0,size,0,
				-size,size,size,
				size,size,size,
				//下面
				0,-size,0,
				size,-size,size,
				-size,-size,size,
				0,-size,0,
				-size,-size,size,
				-size,-size,-size,
				0,-size,0,
				-size,-size,-size,
				size,-size,-size,
				0,-size,0,
				size,-size,-size,
				size,-size,size,
			};
			float[] colors = new float[] {
				//前面
				1,1,1,//中间为白色
				1,0,0,
				1,0,0,
				1,1,1,//中间为白色
				1,0,0,
				1,0,0,
				1,1,1,//中间为白色
				1,0,0,
				1,0,0,
				1,1,1,//中间为白色
				1,0,0,
				1,0,0,
				//后面
				1,1,1,//中间为白色
				0,0,1,
				0,0,1,
				1,1,1,//中间为白色
				0,0,1,
				0,0,1,
				1,1,1,//中间为白色
				0,0,1,
				0,0,1,
				1,1,1,//中间为白色
				0,0,1,
				0,0,1,
				//左面
				1,1,1,//中间为白色
				1,0,1,
				1,0,1,
				1,1,1,//中间为白色
				1,0,1,
				1,0,1,
				1,1,1,//中间为白色
				1,0,1,
				1,0,1,
				1,1,1,//中间为白色
				1,0,1,
				1,0,1,//右面
				1,1,1,//中间为白色
				1,1,0,
				1,1,0,
				1,1,1,//中间为白色
				1,1,0,
				1,1,0,
				1,1,1,//中间为白色
				1,1,0,
				1,1,0,
				1,1,1,//中间为白色
				1,1,0,
				1,1,0,
				//上面
				1,1,1,//中间为白色
				0,1,0,
				0,1,0,
				1,1,1,//中间为白色
				0,1,0,
				0,1,0,
				1,1,1,//中间为白色
				0,1,0,
				0,1,0,
				1,1,1,//中间为白色
				0,1,0,
				0,1,0,
				//下面
				1,1,1,//中间为白色
				0,1,1,
				0,1,1,
				1,1,1,//中间为白色
				0,1,1,
				0,1,1,
				1,1,1,//中间为白色
				0,1,1,
				0,1,1,
				1,1,1,//中间为白色
				0,1,1,
				0,1,1,
			};

			VCount = (uint)(vertices.Length / 3);
			// 顶点的数量为坐标值数量的1/3，因为一个顶点有3个坐标
			Data = new float[vertices.Length * 2];
			var vdata = new float[vertices.Length * 2];
			int index = 0;
			for (int i = 0; i < VCount; i++)
			{
				vdata[index++] = vertices[i * 3 + 0];
				vdata[index++] = vertices[i * 3 + 1];
				vdata[index++] = vertices[i * 3 + 2];

				vdata[index++] = colors[i * 3 + 0];
				vdata[index++] = colors[i * 3 + 1];
				vdata[index++] = colors[i * 3 + 2];
			}
			Data = vdata;
		}
    }
}
